<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" th:href="@{/layui/css/layui.css}" media="all">
    <script th:src="@{/layui/layui.js}" charset="utf-8"></script>
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
</head>
<body>
<br>
<form class="layui-form" action="" id="searchform">
    <div class="layui-form-item">
        <label class="layui-form-label">课程名字</label>
        <div class="layui-input-inline">
            <input type="text" name="course_name" id="course_name" placeholder="请输入课程名字" autocomplete="off" class="layui-input">
        </div>
        <label class="layui-form-label">教学方式</label>
        <div class="layui-input-inline">
            <select name="teach_way" id="teach_way" class="layui-input">
                <option value="线上">线上</option>
                <option value="线下">线下</option>
            </select>
        </div>


        <div class="site-demo-button" id="top_options" style="margin-bottom: 0;margin-right: 20px" align="right" >
            <button class="layui-btn layui-btn-sm" type="button" onclick="doSearch();">搜索</button>
            <button type="reset" class="layui-btn layui-btn-sm" >重置</button>
        </div>
    </div>
</form>
<!--lay-filter监听事件id-->
<table class="layui-hide" id="listTable" lay-filter="tableFilter"></table>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
    </div>
</script>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">预购</a>
</script>


<script>
    var table, $;

    // layui.use([mods],callback)
    // layui的内置模块并非默认就加载的，它必须在你执行该方法后才会加载。
    layui.use(['table'], function () {
        //获取一个table对象
        table = layui.table;
        $ = layui.jquery;//拿到jQuery对象
        var layer = layui.layer;
        //温馨提示：默认由前端自动合计当前行数据。从 layui 2.5.6 开始： 若接口直接返回了合计行数据，则优先读取接口合计行数据。
        //详见：https://www.layui.com/doc/modules/table.html#totalRow
        //声明字段
        table.render({
            // <table class="layui-hide" id="test" lay-filter="test"></table>
            //指定渲染哪个表格
            elem: '#listTable'
            , url: '/studentCourse/listjson'
            , toolbar: '#toolbarDemo' //指向自定义工具栏模板选择器
            , title: '课程资源表'
            , totalRow: true
            , cols: [
                [
                    {type: 'checkbox', fixed: 'left'}
                    //,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true, totalRowText: '合计'}
                    , {field: 'course_id', title: '课程ID', width: 165}
                    , {field: 'course_name', title: '课程名字', width: 165}
                    , {field: 'course_price', title: '价格', width: 165}
                    , {field: 'teach_way', title: '教学方式', width: 165}
                    , {field: 'location', title: '教学地点', width: 165}
                    , {field: 'day', title: '教学天数', width: 165}
                    , {field: 'remark', title: '备注', width: 165}
                    , {fixed: 'right', title: '操作', toolbar: '#barDemo',width: 150}
                ]
            ],
            limit: 10,
            limits: [1, 2, 3, 4, 5],
            page: true,
            id: 'orderReload',
        });

        //工具栏事件
        table.on('toolbar(tableFilter)', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：' + data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选' : '未全选')
                    break;
                case 'add':
                    //parent.layer.open：父类页面,index页面需要加载layui.use(['layer'])
                    //layer.open：本页面
                    parent.layer.open({
                        type: 2,//跳转到页面
                        offset: 'auto',
                        title: '课程',
                        content: '/course/add',
                        area: ['1000px', '600px'],
                        btn: '关闭全部',
                        btnAlign: 'c',//居中
                        yes: function () {
                            parent.layer.closeAll();
                        }
                    });
                    break;
            }
            ;
        });

        //触发行双击监听事件
        table.on('rowDouble(tableFilter)', function (obj) {
            var course_id = obj.data.course_id;
            parent.layer.open({
                type: 2,//跳转到页面
                offset: 'auto',
                title: '课程',
                content: '/studentCourse/detail?course_id=' + course_id,
                area: ['1000px', '600px'],
                btn: '关闭全部',
                btnAlign: 'c',//居中
                yes: function () {
                    parent.layer.closeAll();
                }
            });
        });

        //工具条事件
        table.on('tool(tableFilter)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var course_id = obj.data.course_id; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）

            if (layEvent === 'del') { //预购
                layer.confirm('确定预购吗', function (index) {
                    layer.close(index);
                    //向服务端发送预购指令
                    $.ajax({
                        type: 'POST',
                        url: "/courseOrder/stusave",
                        data: {"course_id": course_id},
                        success: function (responseData) {
                                layer.msg("预购成功")
                        },
                        error: function () {

                        },
                    })
                });
            } else if (layEvent === 'edit') { //编辑
                //do something
                parent.layer.open({
                    //1，直接显示content中的内容
                    type: 2,//跳转到页面
                    offset: 'auto',
                    title: '课程',
                    content: '/course/edit?course_id=' + course_id,
                    area: ['1000px', '600px'],
                    btn: '关闭全部',
                    btnAlign: 'c',//居中
                    yes: function () {
                        parent.layer.closeAll();
                    }
                });
            }
        });

    });

    function doSearch() {
        //通过jQuery获取参数
        var course_name = $('#course_name').val();
        var teach_way = $('#teach_way').val();
        //加上搜索条件,orderReload是table.render的时候绑定的一个ID。
        table.reload('orderReload', {
            where: {
                course_name: course_name,
                teach_way: teach_way,
            },page:{
                //从第1页开始查询
                curr:1
            }
        });
    }

</script>

</body>
</html>